package com.wanrue.tcc.enums;

/**
 * 事务的传播性
 * Created by wenjie on 11/08/18.
 */
public enum Propagation {

    /**
     * 如果当前没有事务，就新建一个事务，如果已经存在一个事务中，加入到这个事务中
     */
    REQUIRED(0),
    /**
     * 支持当前事务，如果当前没有事务，就以非事务方式执行。
     */
    SUPPORTS(1),
    /**
     * 使用当前的事务，如果当前没有事务，就抛出异常。
     */
    MANDATORY(2),
    /**
     * 建事务，如果当前存在事务，把当前事务挂起。
     */
    REQUIRES_NEW(3);

    private int value;

    Propagation(int value) {
        this.value = value;
    }

    public int value() {
        return this.value;
    }
}